package com.shangguosha.model.enums;

import lombok.Getter;

/**
 * 事件类型枚举
 */
@Getter
public enum EventType {
    // 游戏状态事件
    GAME_INITIALIZED("game_initialized", "游戏初始化"),
    GAME_STARTED("game_started", "游戏开始"),
    GAME_ENDED("game_ended", "游戏结束"),
    PLAYER_CHANGED("player_changed", "玩家切换"),
    PHASE_CHANGED("phase_changed", "阶段切换"),
    
    // 卡牌事件
    CARD_DRAWN_FROM_PILE("card_drawn_from_pile", "从牌堆抽牌"),
    CARD_DISCARDED_TO_PILE("card_discarded_to_pile", "卡牌弃置到弃牌堆"),
    DECK_SHUFFLED("deck_shuffled", "牌堆洗牌"),
    CARD_USED("card_used", "卡牌使用"),
    
    // 角色事件
    CHARACTER_CREATED("character_created", "角色创建"),
    CHARACTER_DAMAGED("character_damaged", "角色受到伤害"),
    CHARACTER_HEALED("character_healed", "角色回复体力"),
    CHARACTER_DIED("character_died", "角色死亡"),
    CHARACTER_REVIVED("character_revived", "角色复活"),
    
    // 技能事件
    SKILL_USED("skill_used", "技能使用"),
    SKILL_TRIGGERED("skill_triggered", "技能触发"),
    
    // 特殊事件
    PEACH_USED("peach_used", "桃使用"),
    PEACH_SAVE("peach_save", "桃救人"),
    KILL_USED("kill_used", "杀使用"),
    DODGE_USED("dodge_used", "闪使用"),
    
    // 刘备技能事件
    RENDE_USED("rende_used", "仁德使用");
    
    private final String eventName;
    private final String description;
    
    EventType(String eventName, String description) {
        this.eventName = eventName;
        this.description = description;
    }
}